Feature: Book Genie Mode - Automated Testing with Detailed Reporting
File name: BookGenie.feature
Relative path: features/BookGenie.feature
Scenario Outline: Book Genie Response Validation with Citation Verification
Error: No book data extracted from BookGenie response.
at CustomWorld.(anonymous) (/home/runner/work/HC_Epub_Automation/HC_Epub_Automation/tests/steps/bookGenie.step.ts:46:15)
at /home/runner/work/HC_Epub_Automation/HC_Epub_Automation/tests/steps/bookGenie.step.ts:8:71
at __awaiter (/home/runner/work/HC_Epub_Automation/HC_Epub_Automation/tests/steps/bookGenie.step.ts:4:12)
at CustomWorld.(anonymous) (/home/runner/work/HC_Epub_Automation/HC_Epub_Automation/tests/steps/bookGenie.step.ts:59:12)
=== SCENARIO LOGS: Book Genie Response Validation with Citation Verification === [12:52:00 AM] Navigating to Creative Workspace login page [12:52:03 AM] Homepage visibility: false [12:52:03 AM] ℹ️ Typing query: "Suggest 5 books on christmas" [12:52:03 AM] ℹ️ Preparing to type query: "Suggest 5 books on christmas" [12:52:03 AM] ℹ️ Waiting for chat input to be visible [12:52:04 AM] ℹ️ Clearing chat input [12:52:04 AM] ℹ️ Typing query: "Suggest 5 books on christmas" [12:52:05 AM] ℹ️ Pressing Enter to submit query [12:52:05 AM] ✅ Query submitted successfully: "Suggest 5 books on christmas" [12:52:05 AM] ℹ️ Waiting for AI to complete thinking... [12:52:05 AM] 📋 WAITING FOR AI RESPONSE [12:52:05 AM] ℹ️ Looking for AI thinking indicator... [12:52:05 AM] ℹ️ Waiting for thinking indicator to appear (max 2 minutes) [12:52:07 AM] ✅ ✓ AI thinking indicator appeared - AI is processing the request [12:52:07 AM] ℹ️ Waiting for thinking indicator to disappear (max 5 minutes) [12:52:10 AM] ✅ ✓ AI thinking completed - Response should be ready [12:52:10 AM] ℹ️ Allowing additional time for response rendering [12:52:13 AM] ✅ AI response wait process completed [12:52:13 AM] ℹ️ Validating response for query: "Suggest 5 books on christmas" [12:52:13 AM] 📋 VALIDATING RESPONSE FOR QUERY: "Suggest 5 books on christmas" [12:52:13 AM] ℹ️ Locating the latest response in chat [12:52:13 AM] ℹ️ Waiting for response to be visible (max 30 seconds) [12:52:13 AM] ✅ Response received - Length: 620 characters [12:52:13 AM] ℹ️ Response preview: Watch Me WorkInterpreting context for your query...That sounds like a lovely theme! To help you find... [12:52:13 AM] ℹ️ Extracting book data from response... [12:52:13 AM] 📋 EXTRACTING BOOK DATA FROM RESPONSE [12:52:13 AM] ℹ️ Locating BookGenie response container [12:52:13 AM] ℹ️ Extracting HTML content from response [12:52:13 AM] ℹ️ HTML content extracted - Length: 7572 characters [12:52:13 AM] ℹ️ Parsing HTML to extract book data [12:52:13 AM] ✅ SUCCESSFULLY EXTRACTED 0 BOOKS [12:52:13 AM] 📋 EXTRACTED BOOKS SUMMARY [12:52:13 AM] 📊 Total books extracted: 0 [12:52:13 AM] 📊 Average relevance score: 0% [12:52:13 AM] ✅ Extracted 0 books from response === END LOGS ===
Scenario Logs: Book Genie Response Validation with Citation Verification
Scenario Outline: Book Genie Response Validation with Citation Verification
CITATION VALIDATION DETAILED REPORT ================================================================================ BOOK: Henry Huggins ------------------------------------------------------------ ✅ Reason 1: PASS (100%) ✅ Reason 2: PASS (95%) ✅ Reason 3: PASS (95%) BOOK: Anne of Green Gables ------------------------------------------------------------ ✅ Reason 1: PASS (100%) ✅ Reason 2: PASS (100%) ✅ Reason 3: PASS (100%) BOOK: The Secret Garden ------------------------------------------------------------ ✅ Reason 1: PASS (95%) ❌ Reason 2: FAIL (0%) 📝 Reason: It features an orphaned girl who discovers a secret garden and brings it back to life... 📚 Citation: Mary discovers a secret garden, surrounded by walls and locked with a missing key. One day, with the... ⚠️ Citation text not found in reason: "Mary discovers a secret garden, surrounded by walls and locked with a missing key. One day, with the help of two unexpected companions, she discovers a way in. Is everything in the garden dead, or can Mary bring it back to life?" ✅ Reason 3: PASS (100%) SUMMARY: 8/9 reasons passed (88.9%) OVERALL STATUS: PASS
Citation Validation Summary: 8/9 passed
📊 Citation Validation Report
Generated on 10/16/2025, 12:54:06 AM
📖 Henry Huggins
📖 Anne of Green Gables
📖 The Secret Garden
📈 Validation Summary
PER-BOOK AI VALIDATION REPORT - Query: "Suggest 3 books for childrens"
================================================================================
OVERALL RELEVANCE SCORE: 70%
STATUS: FAIL
BOOKS ANALYZED: 3
BOOK 1: "Henry Huggins"
------------------------------------------------------------
Overall Score: 70%
SECTION SCORES:
Author Information: 70% - Analysis unavailable - API error
Publishing Date: 70% - Analysis unavailable - API error
Why Match Explanations: 70% - Analysis unavailable - API error
Relevance Scores: 70% - Analysis unavailable - API error
DETAILED FEEDBACK:
• AI analysis temporarily unavailable due to service overload
IMPROVEMENT SUGGESTIONS:
• Retry analysis when service is available
================================================================================
BOOK 2: "Anne of Green Gables"
------------------------------------------------------------
Overall Score: 70%
SECTION SCORES:
Author Information: 70% - Analysis unavailable - API error
Publishing Date: 70% - Analysis unavailable - API error
Why Match Explanations: 70% - Analysis unavailable - API error
Relevance Scores: 70% - Analysis unavailable - API error
DETAILED FEEDBACK:
• AI analysis temporarily unavailable due to service overload
IMPROVEMENT SUGGESTIONS:
• Retry analysis when service is available
================================================================================
BOOK 3: "The Secret Garden"
------------------------------------------------------------
Overall Score: 70%
SECTION SCORES:
Author Information: 70% - Analysis unavailable - API error
Publishing Date: 70% - Analysis unavailable - API error
Why Match Explanations: 70% - Analysis unavailable - API error
Relevance Scores: 70% - Analysis unavailable - API error
DETAILED FEEDBACK:
• AI analysis temporarily unavailable due to service overload
IMPROVEMENT SUGGESTIONS:
• Retry analysis when service is available
================================================================================
SUMMARY FEEDBACK:
----------------------------------------
• AI analysis service is temporarily overloaded
• Using fallback analysis with neutral scores
• Error: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits.
* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 2
Please retry in 46.009987391s. [{"@type":"type.googleapis.com/google.rpc.QuotaFailure","violations":[{"quotaMetric":"generativelanguage.googleapis.com/generate_content_free_tier_requests","quotaId":"GenerateRequestsPerMinutePerProjectPerModel-FreeTier","quotaDimensions":{"location":"global","model":"gemini-2.5-pro"},"quotaValue":"2"}]},{"@type":"type.googleapis.com/google.rpc.Help","links":[{"description":"Learn more about Gemini API quotas","url":"https://ai.google.dev/gemini-api/docs/rate-limits"}]},{"@type":"type.googleapis.com/google.rpc.RetryInfo","retryDelay":"46s"}]
OVERALL IMPROVEMENT SUGGESTIONS:
----------------------------------------
• Retry the analysis when Gemini API is less busy
• Consider running tests during off-peak hours
• Check Google AI status page for service updates
🤖 PER-BOOK AI Response Relevance Validation
Query: "Suggest 3 books for childrens"
Overall Relevance Score: 70%
Status: FAIL
Books Analyzed: 3
Individual Book Analyses
📖 Book 1: "Henry Huggins" - 70%
Author Information: 70%
Analysis unavailable - API error
Publishing Date: 70%
Analysis unavailable - API error
Why Match Explanations: 70%
Analysis unavailable - API error
Relevance Scores: 70%
Analysis unavailable - API error
Improvement Suggestions:
📖 Book 2: "Anne of Green Gables" - 70%
Author Information: 70%
Analysis unavailable - API error
Publishing Date: 70%
Analysis unavailable - API error
Why Match Explanations: 70%
Analysis unavailable - API error
Relevance Scores: 70%
Analysis unavailable - API error
Improvement Suggestions:
📖 Book 3: "The Secret Garden" - 70%
Author Information: 70%
Analysis unavailable - API error
Publishing Date: 70%
Analysis unavailable - API error
Why Match Explanations: 70%
Analysis unavailable - API error
Relevance Scores: 70%
Analysis unavailable - API error
Improvement Suggestions:
Summary Feedback
• AI analysis service is temporarily overloaded
• Using fallback analysis with neutral scores
• Error: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. * Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 2 Please retry in 46.009987391s. [{"@type":"type.googleapis.com/google.rpc.QuotaFailure","violations":[{"quotaMetric":"generativelanguage.googleapis.com/generate_content_free_tier_requests","quotaId":"GenerateRequestsPerMinutePerProjectPerModel-FreeTier","quotaDimensions":{"location":"global","model":"gemini-2.5-pro"},"quotaValue":"2"}]},{"@type":"type.googleapis.com/google.rpc.Help","links":[{"description":"Learn more about Gemini API quotas","url":"https://ai.google.dev/gemini-api/docs/rate-limits"}]},{"@type":"type.googleapis.com/google.rpc.RetryInfo","retryDelay":"46s"}]
Overall Improvement Suggestions
=== SCENARIO LOGS: Book Genie Response Validation with Citation Verification ===
[12:52:15 AM] Navigating to Creative Workspace login page
[12:52:17 AM] Homepage visibility: false
[12:52:17 AM] ℹ️ Typing query: "Suggest 3 books for childrens"
[12:52:17 AM] ℹ️ Preparing to type query: "Suggest 3 books for childrens"
[12:52:17 AM] ℹ️ Waiting for chat input to be visible
[12:52:19 AM] ℹ️ Clearing chat input
[12:52:19 AM] ℹ️ Typing query: "Suggest 3 books for childrens"
[12:52:20 AM] ℹ️ Pressing Enter to submit query
[12:52:20 AM] ✅ Query submitted successfully: "Suggest 3 books for childrens"
[12:52:20 AM] ℹ️ Waiting for AI to complete thinking...
[12:52:20 AM] 📋 WAITING FOR AI RESPONSE
[12:52:20 AM] ℹ️ Looking for AI thinking indicator...
[12:52:20 AM] ℹ️ Waiting for thinking indicator to appear (max 2 minutes)
[12:52:22 AM] ✅ ✓ AI thinking indicator appeared - AI is processing the request
[12:52:22 AM] ℹ️ Waiting for thinking indicator to disappear (max 5 minutes)
[12:52:31 AM] ✅ ✓ AI thinking completed - Response should be ready
[12:52:31 AM] ℹ️ Allowing additional time for response rendering
[12:52:34 AM] ✅ AI response wait process completed
[12:52:34 AM] ℹ️ Validating response for query: "Suggest 3 books for childrens"
[12:52:34 AM] 📋 VALIDATING RESPONSE FOR QUERY: "Suggest 3 books for childrens"
[12:52:34 AM] ℹ️ Locating the latest response in chat
[12:52:34 AM] ℹ️ Waiting for response to be visible (max 30 seconds)
[12:52:34 AM] ✅ Response received - Length: 2030 characters
[12:52:34 AM] ℹ️ Response preview: Watch Me WorkInterpreting context for your query...Retrieving Relevant Books for 'books suitable for...
[12:52:34 AM] ℹ️ Extracting book data from response...
[12:52:34 AM] 📋 EXTRACTING BOOK DATA FROM RESPONSE
[12:52:34 AM] ℹ️ Locating BookGenie response container
[12:52:34 AM] ℹ️ Extracting HTML content from response
[12:52:34 AM] ℹ️ HTML content extracted - Length: 25302 characters
[12:52:34 AM] ℹ️ Parsing HTML to extract book data
[12:52:34 AM] ✅ SUCCESSFULLY EXTRACTED 3 BOOKS
[12:52:34 AM] 📋 EXTRACTED BOOKS SUMMARY
[12:52:34 AM] 📚 1. "Henry Huggins" - Score: 100%%
[12:52:34 AM] 📚 2. "Anne of Green Gables" - Score: 100%%
[12:52:34 AM] 📚 3. "The Secret Garden" - Score: 100%%
[12:52:34 AM] 📊 Total books extracted: 3
[12:52:34 AM] 📊 Average relevance score: 100%
[12:52:34 AM] ✅ Extracted 3 books from response
[12:52:34 AM] ℹ️ Saving 3 books to Excel file: test_results/suggest_3_books_for_childrens.xlsx
[12:52:34 AM] 📋 SAVING BOOKS TO EXCEL FILE
[12:52:34 AM] ℹ️ Target file path: test_results/suggest_3_books_for_childrens.xlsx
[12:52:34 AM] ℹ️ Exporting 3 books to Excel format
[12:52:34 AM] ✅ Book data saved to: test_results/suggest_3_books_for_childrens.xlsx
[12:52:34 AM] 📊 File verified - Size: 16.87 KB
[12:52:34 AM] ✅ ✓ Excel file creation verified successfully
[12:52:34 AM] 📋 STARTING INDIVIDUAL BOOK VALIDATION (3 books) for query: "Suggest 3 books for childrens"
[12:52:34 AM] 📋 📚 VALIDATING BOOK 1: "Henry Huggins"
[12:52:34 AM] ℹ️ Starting comprehensive book validation
[12:52:34 AM] ℹ️ Validating title: "Henry Huggins" vs expected: "Henry Huggins"
[12:52:34 AM] ✅ ✅ TITLE VALIDATION PASSED: "Henry Huggins"
[12:52:34 AM] ℹ️ Validating score: 100% vs expected: 100%
[12:52:34 AM] ✅ ✅ SCORE VALIDATION PASSED: 100% (expected 100%)
[12:52:34 AM] ✅ ✅ PERFECT SCORE GAP VALIDATION: Book has 100% score and no gap mentioned
[12:52:34 AM] ℹ️ Why-match points: extracted 3 vs expected 3
[12:52:34 AM] ✅ ✅ WHY-MATCH VALIDATION PASSED: 3 points (expected 3)
[12:52:34 AM] ✅ 🎉 BOOK 1 VALIDATION: ALL CHECKS PASSED!
[12:52:34 AM] ℹ️ Book 1 validation completed
[12:52:34 AM] 📋 📚 VALIDATING BOOK 2: "Anne of Green Gables"
[12:52:34 AM] ℹ️ Starting comprehensive book validation
[12:52:34 AM] ℹ️ Validating title: "Anne of Green Gables" vs expected: "Anne of Green Gables"
[12:52:34 AM] ✅ ✅ TITLE VALIDATION PASSED: "Anne of Green Gables"
[12:52:34 AM] ℹ️ Validating score: 100% vs expected: 100%
[12:52:34 AM] ✅ ✅ SCORE VALIDATION PASSED: 100% (expected 100%)
[12:52:34 AM] ✅ ✅ PERFECT SCORE GAP VALIDATION: Book has 100% score and no gap mentioned
[12:52:34 AM] ℹ️ Why-match points: extracted 3 vs expected 3
[12:52:34 AM] ✅ ✅ WHY-MATCH VALIDATION PASSED: 3 points (expected 3)
[12:52:34 AM] ✅ 🎉 BOOK 2 VALIDATION: ALL CHECKS PASSED!
[12:52:34 AM] ℹ️ Book 2 validation completed
[12:52:34 AM] 📋 📚 VALIDATING BOOK 3: "The Secret Garden"
[12:52:34 AM] ℹ️ Starting comprehensive book validation
[12:52:34 AM] ℹ️ Validating title: "The Secret Garden" vs expected: "The Secret Garden"
[12:52:34 AM] ✅ ✅ TITLE VALIDATION PASSED: "The Secret Garden"
[12:52:34 AM] ℹ️ Validating score: 100% vs expected: 100%
[12:52:34 AM] ✅ ✅ SCORE VALIDATION PASSED: 100% (expected 100%)
[12:52:34 AM] ✅ ✅ PERFECT SCORE GAP VALIDATION: Book has 100% score and no gap mentioned
[12:52:34 AM] ℹ️ Why-match points: extracted 3 vs expected 3
[12:52:34 AM] ✅ ✅ WHY-MATCH VALIDATION PASSED: 3 points (expected 3)
[12:52:34 AM] ✅ 🎉 BOOK 3 VALIDATION: ALL CHECKS PASSED!
[12:52:34 AM] ℹ️ Book 3 validation completed
[12:52:34 AM] 📊 VALIDATION SUMMARY: 3/3 books passed
[12:52:34 AM] ✅ ALL BOOKS VALIDATED SUCCESSFULLY!
[12:52:34 AM] 📋 🔍 VALIDATING REASON-CITATION MATCHES
[12:52:34 AM] ℹ️ Starting citation validation process...
[12:52:34 AM] 📋 🚀 STARTING COMPLETE CITATION VALIDATION WORKFLOW
[12:52:34 AM] ℹ️ Step 1: Extracting books from AI response
[12:52:34 AM] 📋 EXTRACTING BOOK DATA FROM RESPONSE
[12:52:34 AM] ℹ️ Locating BookGenie response container
[12:52:34 AM] ℹ️ Extracting HTML content from response
[12:52:34 AM] ℹ️ HTML content extracted - Length: 25302 characters
[12:52:34 AM] ℹ️ Parsing HTML to extract book data
[12:52:34 AM] ✅ SUCCESSFULLY EXTRACTED 3 BOOKS
[12:52:34 AM] 📋 EXTRACTED BOOKS SUMMARY
[12:52:34 AM] 📚 1. "Henry Huggins" - Score: 100%%
[12:52:34 AM] 📚 2. "Anne of Green Gables" - Score: 100%%
[12:52:34 AM] 📚 3. "The Secret Garden" - Score: 100%%
[12:52:34 AM] 📊 Total books extracted: 3
[12:52:34 AM] 📊 Average relevance score: 100%
[12:52:34 AM] ℹ️ Step 2: Extracting citation texts from book elements
[12:52:34 AM] 📋 📚 EXTRACTING CITATION TEXTS FROM BOOK ELEMENTS
[12:52:34 AM] ℹ️ Step 1: Waiting for main book section
[12:52:34 AM] ℹ️ Found 7 total accordion sections
[12:52:34 AM] ℹ️ Found individual book: "1. Henry Huggins"
[12:52:34 AM] ℹ️ Found individual book: "2. Anne of Green Gables"
[12:52:34 AM] ℹ️ Found individual book: "3. The Secret Garden"
[12:52:34 AM] ℹ️ Processing 3 individual book sections
[12:52:34 AM] 📋 📖 PROCESSING BOOK 1: "Henry Huggins"
[12:52:34 AM] ℹ️ Expanding book section: "Henry Huggins"
[12:52:37 AM] ✅ Book section expanded: "Henry Huggins"
[12:52:37 AM] ℹ️ Expanding "Why this book is the match" section for: "Henry Huggins"
[12:52:40 AM] ✅ "Why this book is the match" section expanded for: "Henry Huggins"
[12:52:40 AM] ℹ️ Found 3 citation buttons for "Henry Huggins"
[12:52:40 AM] ℹ️ Extracting citation 1/3 for "Henry Huggins"
[12:52:40 AM] ℹ️ Processing metadata citation 1 for "Henry Huggins"
[12:52:41 AM] ℹ️ Clicking to OPEN metadata citation 1
[12:52:43 AM] ℹ️ Extracted citation text (first 100 chars): classic...
[12:52:43 AM] ℹ️ Clicking to CLOSE metadata citation 1
[12:52:45 AM] ✅ ✅ metadata citation 1 closed successfully
[12:52:45 AM] ℹ️ ✅ Citation 1 extracted successfully (length: 7)
[12:52:45 AM] ℹ️ Extracting citation 2/3 for "Henry Huggins"
[12:52:45 AM] ℹ️ Processing metadata citation 2 for "Henry Huggins"
[12:52:46 AM] ℹ️ Clicking to OPEN metadata citation 2
[12:52:48 AM] ℹ️ Extracted citation text (first 100 chars): Just as Henry Huggins is complaining that nothing exciting ever happens, a friendly dog sits down be...
[12:52:48 AM] ℹ️ Clicking to CLOSE metadata citation 2
[12:52:49 AM] ✅ ✅ metadata citation 2 closed successfully
[12:52:49 AM] ℹ️ ✅ Citation 2 extracted successfully (length: 390)
[12:52:49 AM] ℹ️ Extracting citation 3/3 for "Henry Huggins"
[12:52:49 AM] ℹ️ Processing metadata citation 3 for "Henry Huggins"
[12:52:50 AM] ℹ️ Clicking to OPEN metadata citation 3
[12:52:52 AM] ℹ️ Extracted citation text (first 100 chars): JUVENILE FICTION: Humorous Stories...
[12:52:52 AM] ℹ️ Clicking to CLOSE metadata citation 3
[12:52:54 AM] ✅ ✅ metadata citation 3 closed successfully
[12:52:54 AM] ℹ️ ✅ Citation 3 extracted successfully (length: 34)
[12:52:54 AM] ℹ️ Collapsing book section: "Henry Huggins"
[12:52:56 AM] ✅ Book section collapsed: "Henry Huggins"
[12:52:56 AM] ✅ ✅ Completed processing "Henry Huggins" - 3 citations extracted
[12:52:56 AM] 📋 📖 PROCESSING BOOK 2: "Anne of Green Gables"
[12:52:56 AM] ℹ️ Expanding book section: "Anne of Green Gables"
[12:52:59 AM] ✅ Book section expanded: "Anne of Green Gables"
[12:52:59 AM] ℹ️ Expanding "Why this book is the match" section for: "Anne of Green Gables"
[12:53:02 AM] ✅ "Why this book is the match" section expanded for: "Anne of Green Gables"
[12:53:02 AM] ℹ️ Found 3 citation buttons for "Anne of Green Gables"
[12:53:02 AM] ℹ️ Extracting citation 1/3 for "Anne of Green Gables"
[12:53:02 AM] ℹ️ Processing metadata citation 1 for "Anne of Green Gables"
[12:53:03 AM] ℹ️ Clicking to OPEN metadata citation 1
[12:53:05 AM] ℹ️ Extracted citation text (first 100 chars): classic...
[12:53:05 AM] ℹ️ Clicking to CLOSE metadata citation 1
[12:53:06 AM] ✅ ✅ metadata citation 1 closed successfully
[12:53:06 AM] ℹ️ ✅ Citation 1 extracted successfully (length: 7)
[12:53:06 AM] ℹ️ Extracting citation 2/3 for "Anne of Green Gables"
[12:53:06 AM] ℹ️ Processing metadata citation 2 for "Anne of Green Gables"
[12:53:07 AM] ℹ️ Clicking to OPEN metadata citation 2
[12:53:09 AM] ℹ️ Extracted citation text (first 100 chars): a talkative eleven-year-old orphan with a heart full of dreams and a desperate longing for a home....
[12:53:09 AM] ℹ️ Clicking to CLOSE metadata citation 2
[12:53:11 AM] ✅ ✅ metadata citation 2 closed successfully
[12:53:11 AM] ℹ️ ✅ Citation 2 extracted successfully (length: 98)
[12:53:11 AM] ℹ️ Extracting citation 3/3 for "Anne of Green Gables"
[12:53:11 AM] ℹ️ Processing metadata citation 3 for "Anne of Green Gables"
[12:53:12 AM] ℹ️ Clicking to OPEN metadata citation 3
[12:53:14 AM] ℹ️ Extracted citation text (first 100 chars): JUVENILE FICTION...
[12:53:14 AM] ℹ️ Clicking to CLOSE metadata citation 3
[12:53:16 AM] ✅ ✅ metadata citation 3 closed successfully
[12:53:16 AM] ℹ️ ✅ Citation 3 extracted successfully (length: 16)
[12:53:16 AM] ℹ️ Collapsing book section: "Anne of Green Gables"
[12:53:17 AM] ✅ Book section collapsed: "Anne of Green Gables"
[12:53:17 AM] ✅ ✅ Completed processing "Anne of Green Gables" - 3 citations extracted
[12:53:17 AM] 📋 📖 PROCESSING BOOK 3: "The Secret Garden"
[12:53:17 AM] ℹ️ Expanding book section: "The Secret Garden"
[12:53:20 AM] ✅ Book section expanded: "The Secret Garden"
[12:53:20 AM] ℹ️ Expanding "Why this book is the match" section for: "The Secret Garden"
[12:53:23 AM] ✅ "Why this book is the match" section expanded for: "The Secret Garden"
[12:53:23 AM] ℹ️ Found 3 citation buttons for "The Secret Garden"
[12:53:23 AM] ℹ️ Extracting citation 1/3 for "The Secret Garden"
[12:53:23 AM] ℹ️ Processing metadata citation 1 for "The Secret Garden"
[12:53:24 AM] ℹ️ Clicking to OPEN metadata citation 1
[12:53:26 AM] ℹ️ Extracted citation text (first 100 chars): classic literature...
[12:53:26 AM] ℹ️ Clicking to CLOSE metadata citation 1
[12:53:28 AM] ✅ ✅ metadata citation 1 closed successfully
[12:53:28 AM] ℹ️ ✅ Citation 1 extracted successfully (length: 18)
[12:53:28 AM] ℹ️ Extracting citation 2/3 for "The Secret Garden"
[12:53:28 AM] ℹ️ Processing metadata citation 2 for "The Secret Garden"
[12:53:29 AM] ℹ️ Clicking to OPEN metadata citation 2
[12:53:31 AM] ℹ️ Extracted citation text (first 100 chars): Mary discovers a secret garden, surrounded by walls and locked with a missing key. One day, with the...
[12:53:31 AM] ℹ️ Clicking to CLOSE metadata citation 2
[12:53:32 AM] ✅ ✅ metadata citation 2 closed successfully
[12:53:32 AM] ℹ️ ✅ Citation 2 extracted successfully (length: 228)
[12:53:32 AM] ℹ️ Extracting citation 3/3 for "The Secret Garden"
[12:53:32 AM] ℹ️ Processing metadata citation 3 for "The Secret Garden"
[12:53:33 AM] ℹ️ Clicking to OPEN metadata citation 3
[12:53:36 AM] ℹ️ Extracted citation text (first 100 chars): JUVENILE FICTION...
[12:53:36 AM] ℹ️ Clicking to CLOSE metadata citation 3
[12:53:37 AM] ✅ ✅ metadata citation 3 closed successfully
[12:53:37 AM] ℹ️ ✅ Citation 3 extracted successfully (length: 16)
[12:53:37 AM] ℹ️ Collapsing book section: "The Secret Garden"
[12:53:39 AM] ✅ Book section collapsed: "The Secret Garden"
[12:53:39 AM] ✅ ✅ Completed processing "The Secret Garden" - 3 citations extracted
[12:53:39 AM] ✅ 🎉 Successfully extracted citations from 3 books
[12:53:39 AM] ℹ️ Step 3: Validating reason-citation matches
[12:53:39 AM] 📋 🔍 VALIDATING REASON-CITATION MATCHES (80% THRESHOLD)
[12:53:39 AM] ℹ️ 📖 Validating 3 reasons for: "Henry Huggins"
[12:53:39 AM] ℹ️ Reason 1: Checking match...
[12:53:39 AM] ✅ ✅ "Henry Huggins" - Reason 1: 100% match - PASS
[12:53:39 AM] ℹ️ Reason 2: Checking match...
[12:53:46 AM] ✅ ✅ "Henry Huggins" - Reason 2: 95% match - PASS
[12:53:46 AM] ℹ️ Reason 3: Checking match...
[12:53:56 AM] ✅ ✅ "Henry Huggins" - Reason 3: 95% match - PASS
[12:53:56 AM] ℹ️ 📖 Validating 3 reasons for: "Anne of Green Gables"
[12:53:56 AM] ℹ️ Reason 1: Checking match...
[12:53:56 AM] ✅ ✅ "Anne of Green Gables" - Reason 1: 100% match - PASS
[12:53:56 AM] ℹ️ Reason 2: Checking match...
[12:53:56 AM] ✅ ✅ "Anne of Green Gables" - Reason 2: 100% match - PASS
[12:53:56 AM] ℹ️ Reason 3: Checking match...
[12:53:56 AM] ✅ ✅ "Anne of Green Gables" - Reason 3: 100% match - PASS
[12:53:56 AM] ℹ️ 📖 Validating 3 reasons for: "The Secret Garden"
[12:53:56 AM] ℹ️ Reason 1: Checking match...
[12:54:06 AM] ✅ ✅ "The Secret Garden" - Reason 1: 95% match - PASS
[12:54:06 AM] ℹ️ Reason 2: Checking match...
[12:54:06 AM] ❌ ❌ "The Secret Garden" - Reason 2: 0% match - FAIL
[12:54:06 AM] ❌ ⚠️ Citation text not found in reason: "Mary discovers a secret garden, surrounded by walls and locked with a missing key. One day, with the help of two unexpected companions, she discovers a way in. Is everything in the garden dead, or can Mary bring it back to life?"
[12:54:06 AM] ℹ️ Reason 3: Checking match...
[12:54:06 AM] ✅ ✅ "The Secret Garden" - Reason 3: 100% match - PASS
[12:54:06 AM] 📊 📊 CITATION VALIDATION SUMMARY: 8/9 passed (88.9%)
[12:54:06 AM] ✅ 🎉 REASON-CITATION VALIDATION: OVERALL PASSED
[12:54:06 AM] ℹ️ Step 4: Generating detailed report
[12:54:06 AM] 📋 📋 GENERATING CITATION VALIDATION REPORT
[12:54:06 AM] ℹ️ Report generated: 8/9 reasons passed
[12:54:06 AM] ✅ ✅ Citation validation workflow completed successfully
[12:54:06 AM] 📊 📈 OVERALL CITATION VALIDATION: 8/9 (88.9%)
[12:54:06 AM] ✅ ✅ REASON-CITATION VALIDATION: OVERALL PASSED
[12:54:06 AM] 📋 📋 GENERATING DETAILED CITATION VALIDATION REPORT
[12:54:06 AM] ℹ️ Generating HTML citation validation report
[12:54:06 AM] ✅ Generated HTML report for 9 reasons
[12:54:06 AM] ✅ ✅ Citation validation HTML report generated and attached
[12:54:06 AM] ✅ ✅ Citation validation plain text report attached
[12:54:06 AM] ℹ️ Checking database connectivity...
[12:54:06 AM] ✅ ✅ Database connected successfully
[12:54:06 AM] ℹ️ Database path: /home/runner/work/HC_Epub_Automation/HC_Epub_Automation/tests/test_data/database.xlsx
[12:54:06 AM] ℹ️ Total books: 10032
[12:54:07 AM] 📊 Database contains 10032 books
[12:54:07 AM] ✅ ✅ Database book count requirement met: 10032 >= 2020
[12:54:07 AM] 📋 🔍 VALIDATING EXTRACTED BOOKS INDIVIDUALLY AGAINST DATABASE
[12:54:07 AM] ℹ️ Checking book 1/3: "Henry Huggins"
[12:54:07 AM] ℹ️ Checking if book exists in database: "Henry Huggins"
[12:54:07 AM] ✅ ✅ Database match: "Henry Huggins" → "Henry Huggins 4-Book Collection"
[12:54:07 AM] ℹ️ Checking book 2/3: "Anne of Green Gables"
[12:54:07 AM] ℹ️ Checking if book exists in database: "Anne of Green Gables"
[12:54:07 AM] ✅ ✅ Database match: "Anne of Green Gables" → "Anne of Green Gables"
[12:54:07 AM] ℹ️ Checking book 3/3: "The Secret Garden"
[12:54:07 AM] ℹ️ Checking if book exists in database: "The Secret Garden"
[12:54:07 AM] ✅ ✅ Database match: "The Secret Garden" → "The Secret Garden"
[12:54:07 AM] 📊 INDIVIDUAL DATABASE VALIDATION SUMMARY: 3/3 books found in database
[12:54:07 AM] ✅ 🎉 ALL BOOKS VALIDATED SUCCESSFULLY AGAINST DATABASE!
[12:54:07 AM] 📋 🤖 VALIDATING RESPONSE RELEVANCE WITH GEMINI AI - PER BOOK ANALYSIS
[12:54:07 AM] ℹ️ Starting Gemini AI per-book relevance validation...
[12:54:07 AM] 📋 🤖 ANALYZING RESPONSE RELEVANCE WITH GEMINI AI - PER BOOK ANALYSIS
[12:54:07 AM] ℹ️ Starting Gemini AI analysis with retry logic...
[12:54:14 AM] ⚠ ⚠️ GEMINI VALIDATION: Using fallback analysis due to API issues
[12:54:14 AM] ℹ️ Overall Score: 70% (Fallback)
[12:54:14 AM] 📋 📖 ANALYSIS FOR: "Henry Huggins" - Score: 70%
[12:54:14 AM] ℹ️ ❌ Author Information: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Publishing Date: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Why Match Explanations: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Relevance Scores: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ 💡 Book-specific improvements:
[12:54:14 AM] ℹ️ - Retry analysis when service is available
[12:54:14 AM] 📋 📖 ANALYSIS FOR: "Anne of Green Gables" - Score: 70%
[12:54:14 AM] ℹ️ ❌ Author Information: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Publishing Date: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Why Match Explanations: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Relevance Scores: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ 💡 Book-specific improvements:
[12:54:14 AM] ℹ️ - Retry analysis when service is available
[12:54:14 AM] 📋 📖 ANALYSIS FOR: "The Secret Garden" - Score: 70%
[12:54:14 AM] ℹ️ ❌ Author Information: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Publishing Date: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Why Match Explanations: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ ❌ Relevance Scores: 70% - Analysis unavailable - API error
[12:54:14 AM] ℹ️ 💡 Book-specific improvements:
[12:54:14 AM] ℹ️ - Retry analysis when service is available
[12:54:14 AM] ℹ️ 📊 SUMMARY FEEDBACK:
[12:54:14 AM] ℹ️ • AI analysis service is temporarily overloaded
[12:54:14 AM] ℹ️ • Using fallback analysis with neutral scores
[12:54:14 AM] ℹ️ • Error: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent: [429 Too Many Requests] You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits.
* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 2
Please retry in 46.009987391s. [{"@type":"type.googleapis.com/google.rpc.QuotaFailure","violations":[{"quotaMetric":"generativelanguage.googleapis.com/generate_content_free_tier_requests","quotaId":"GenerateRequestsPerMinutePerProjectPerModel-FreeTier","quotaDimensions":{"location":"global","model":"gemini-2.5-pro"},"quotaValue":"2"}]},{"@type":"type.googleapis.com/google.rpc.Help","links":[{"description":"Learn more about Gemini API quotas","url":"https://ai.google.dev/gemini-api/docs/rate-limits"}]},{"@type":"type.googleapis.com/google.rpc.RetryInfo","retryDelay":"46s"}]
[12:54:14 AM] ❌ ❌ GEMINI AI VALIDATION FAILED: 70% relevance score (required: 80%)
[12:54:14 AM] ℹ️ Continuing execution due to soft assertion...
=== END LOGS ===